using System;
using System.Web.UI.WebControls;
using System.Xml.Serialization;

namespace Code5Systems.FormMaster
{
	
#region  Class FormSettings
	[Serializable(), XmlRoot("FormSettings")]
	public class FormSettings
	{
		
#region  Public Constructors
		
		public FormSettings()
		{
			TableWidth = string.Empty;
			TableClass = string.Empty;
			FormTableWidth = string.Empty;
			FormTableHeight = string.Empty;
			UseCustomXslt = false;
			LastReportDate = DateTime.MinValue;
			SendHtmlEmail = false;
			AllowAnonUploads = false;
			AuthFileDownloads = true;
			HidePostedBy = false;
			TemplateType = Business.TemplateType.XSL;
			TextTemplate = "Default";
			SendMultipart = true;
			RedirectType = "N";
			RedirectUrl = string.Empty;
			InSurveyMode = false;
			TableAlignment = HorizontalAlign.NotSet;
			FormTableAlignment = HorizontalAlign.NotSet;
			SendAutoResponder = false;
			AutoRespFromEmail = string.Empty;
			AutoRespToField = string.Empty;
			AutoRespSubject = string.Empty;
			UseFieldForSubject = false;
			AppendToSubject = false;
			SubjectFieldValue = string.Empty;
			SubjectFieldValue2 = string.Empty;
			SilentPostUrl = string.Empty;
			ARAttachment = string.Empty;
			WsAccessRoles = string.Empty;
			RequiredFieldSymbol = "*";
			UseValidationSummary = false;
			ShowValidationSummaryMessageBox = false;
			ShowValidationSummary = true;
			ValidationSummaryMode = ValidationSummaryDisplayMode.List;
			ValidationSummaryCssClass = "NormalRed";
			ValidationSummaryHeading = string.Empty;
			ValidationSummaryHorzAlign = HorizontalAlign.Left;
			ValidationSummaryInsertAtRow = int.MinValue;
			SuppressedFieldCharacter = "*";
			RegisterUser = false;
			UserNameField = string.Empty;
			PasswordField = string.Empty;
			FirstNameField = string.Empty;
			LastNameField = string.Empty;
			EmailField = string.Empty;
			UserRoles = string.Empty;
			EnableClientScript = true;
			Encoding = Code5Systems.FormMaster.Business.EmailEncoding.Default;
			SuppressReqFldText = false;
			WizardButtonType = Code5Systems.FormMaster.Business.ButtonType.Button;
			WizardButtonClass = "CommandButton";
			WizardStepClass = "Normal";
			WizardStepsAlign = HorizontalAlign.Center;
			WizardStepTitleClass = "Head";
			WizardTitleAlign = HorizontalAlign.Center;
			WizardLegendAlign = HorizontalAlign.Center;
			WizardShowSteps = true;
			WizardStartText = DotNetNuke.Services.Localization.Localization.GetString("WizardStartText", Utility.GetSharedResourceFile());
			WizardNextText = DotNetNuke.Services.Localization.Localization.GetString("WizardNextText", Utility.GetSharedResourceFile());
			WizardPrevText = DotNetNuke.Services.Localization.Localization.GetString("WizardPrevText", Utility.GetSharedResourceFile());
			WizardFinishText = DotNetNuke.Services.Localization.Localization.GetString("WizardFinishText", Utility.GetSharedResourceFile());
			WizardStepText = DotNetNuke.Services.Localization.Localization.GetString("WizardStepName", Utility.GetSharedResourceFile());
			WizardLegendClass = "Head";
			GlobalUploadPath = string.Empty;
			UseTransactions = true;
			GroupWidth = 350;
			LabelWidth = 75;
			ResponsiveLayout = false;
			HardRowBreaks = false;
			LabelAlign = HorizontalAlign.NotSet;
			CellHeight = 60;
			DataDirectLink = false;
			CaptchaType = Business.CaptchaType.DefaultCaptcha;
			SiteKey = string.Empty;
			SecretKey = string.Empty;
		}
#endregion
		
		
#region  Public Properties
		
		[XmlElement("UseCustomXslt")]
		public bool UseCustomXslt {get; set;}
		
		[XmlElement("TableClass")]
		public string TableClass {get; set;}
		
		[XmlElement("TableWidth")]
		public string TableWidth {get; set;}
		
		[XmlElement("FormTableWidth")]
		public string FormTableWidth {get; set;}
		
		[XmlElement("FormTableHeight")]
		public string FormTableHeight {get; set;}
		
		[XmlElement("LastReportDate")]
		public DateTime LastReportDate {get; set;}
		
		[XmlElement("SendHtmlEmail")]
		public bool SendHtmlEmail {get; set;}
		
		[XmlElement("AllowAnonUploads")]
		public bool AllowAnonUploads {get; set;}
		
		[XmlElement("AuthFileDownloads")]
		public bool AuthFileDownloads {get; set;}
		
		[XmlElement("HidePostedBy")]
		public bool HidePostedBy {get; set;}
		
		[XmlElement("TemplateType")]
		public Code5Systems.FormMaster.Business.TemplateType TemplateType {get; set;}
		
		[XmlElement("TextTemplate")]
		public string TextTemplate {get; set;}
		
		[XmlElement("RedirectType")]
		public string RedirectType {get; set;}
		
		[XmlElement("RedirectUrl")]
		public string RedirectUrl {get; set;}
		
		[XmlElement("InSurveyMode")]
		public bool InSurveyMode {get; set;}
		
		[XmlElement("TableAlignment")]
		public HorizontalAlign TableAlignment {get; set;}
		
		[XmlElement("FormTableAlignment")]
		public HorizontalAlign FormTableAlignment {get; set;}
		
		[XmlElement("SendAutoResponder")]
		public bool SendAutoResponder {get; set;}
		
		[XmlElement("AutoRespFromEmail")]
		public string AutoRespFromEmail {get; set;}
		
		[XmlElement("AutoRespToField")]
		public string AutoRespToField {get; set;}
		
		[XmlElement("AutoRespSubject")]
		public string AutoRespSubject {get; set;}
		
		[XmlElement("UseFieldForSubject")]
		public bool UseFieldForSubject {get; set;}

		[XmlElement("AppendToSubject")]
		public bool AppendToSubject { get; set; }
		
		[XmlElement("SubjectFieldValue")]
		public string SubjectFieldValue {get; set;}
		
		[XmlElement("SubjectFieldValue2")]
		public string SubjectFieldValue2 {get; set;}
		
		[XmlElement("SilentPostUrl")]
		public string SilentPostUrl {get; set;}
		
		[XmlElement("ARAttachment")]
		public string ARAttachment {get; set;}
		
		[XmlElement("WsAccessRoles")]
		public string WsAccessRoles {get; set;}
		
		[XmlElement("RequiredFieldSymbol")]
		public string RequiredFieldSymbol {get; set;}
		
		[XmlElement("UseValidationSummary")]
		public bool UseValidationSummary {get; set;}
		
		[XmlElement("ShowValidationSummaryMessageBox")]
		public bool ShowValidationSummaryMessageBox {get; set;}
		
		[XmlElement("ShowValidationSummary")]
		public bool ShowValidationSummary {get; set;}
		
		[XmlElement("ValidationSummaryMode")]
		public ValidationSummaryDisplayMode ValidationSummaryMode {get; set;}
		
		[XmlElement("ValidationSummaryCssClass")]
		public string ValidationSummaryCssClass {get; set;}
		
		[XmlElement("ValidationSummaryHeading")]
		public string ValidationSummaryHeading {get; set;}
		
		[XmlElement("ValidationSummaryHorzAlign")]
		public HorizontalAlign ValidationSummaryHorzAlign {get; set;}
		
		[XmlElement("ValidationSummaryInsertAtRow")]
		public int ValidationSummaryInsertAtRow {get; set;}
		
		[XmlElement("SupressFieldValidationMessages")]
		public bool SupressFieldValidationMessages {get; set;}
		
		[XmlElement("SuppressedFieldCharacter")]
		public string SuppressedFieldCharacter {get; set;}
		
		[XmlElement("RegisterUser")]
		public bool RegisterUser {get; set;}
		
		[XmlElement("UserNameField")]
		public string UserNameField {get; set;}
		
		[XmlElement("PasswordField")]
		public string PasswordField {get; set;}
		
		[XmlElement("FirstNameField")]
		public string FirstNameField {get; set;}
		
		[XmlElement("LastNameField")]
		public string LastNameField {get; set;}
		
		[XmlElement("EmailField")]
		public string EmailField {get; set;}
		
		[XmlElement("UserRoles")]
		public string UserRoles {get; set;}
		
		[XmlElement("EnableClientScript")]
		public bool EnableClientScript {get; set;}
		
		[XmlElement("SendMultipart")]
		public bool SendMultipart {get; set;}
		
		[XmlElement("Encoding")]
		public Code5Systems.FormMaster.Business.EmailEncoding Encoding {get; set;}
		
		[XmlElement("SuppressReqFldText")]
		public bool SuppressReqFldText {get; set;}
		
		[XmlElement("WizardButtonType")]
		public Code5Systems.FormMaster.Business.ButtonType WizardButtonType {get; set;}
		
		[XmlElement("WizardShowSteps")]
		public bool WizardShowSteps {get; set;}
		
		[XmlElement("WizardStartNextImage")]
		public string WizardStartNextImage {get; set;}
		
		[XmlElement("WizardNextImage")]
		public string WizardNextImage {get; set;}
		
		[XmlElement("WizardPrevImage")]
		public string WizardPrevImage {get; set;}
		
		[XmlElement("WizardFinishNextImage")]
		public string WizardFinishNextImage {get; set;}
		
		[XmlElement("WizardStepClass")]
		public string WizardStepClass {get; set;}
		
		[XmlElement("WizardStepsAlign")]
		public HorizontalAlign WizardStepsAlign {get; set;}
		
		[XmlElement("WizardButtonClass")]
		public string WizardButtonClass {get; set;}
		
		[XmlElement("WizardStepTitleClass")]
		public string WizardStepTitleClass {get; set;}
		
		[XmlElement("WizardTitleAlign")]
		public HorizontalAlign WizardTitleAlign {get; set;}

		[XmlElement("WizardLegendAlign")]
		public HorizontalAlign WizardLegendAlign { get; set; }
		
		[XmlElement("WizardStartText")]
		public string WizardStartText {get; set;}
		
		[XmlElement("WizardNextText")]
		public string WizardNextText {get; set;}
		
		[XmlElement("WizardPrevText")]
		public string WizardPrevText {get; set;}
		
		[XmlElement("WizardFinishText")]
		public string WizardFinishText {get; set;}

		[XmlElement("WizardStepText")]
		public string WizardStepText { get; set; }

		[XmlElement("WizardLegendClass")]
		public string WizardLegendClass { get; set; }
		
		[XmlIgnore()]
		public string GlobalUploadPath {get; set;}
		
		[XmlElement("DoLogging")]
		public bool DoLogging {get; set;}
		
		[XmlElement("ExcludeFieldsHiddenByFieldRulesInEmails")]
		public bool ExcludeFieldsHiddenByFieldRulesInEmails {get; set;}
		
		[XmlElement("UseTransactions")]
		public bool UseTransactions {get; set;}

		[XmlElement("ResponsiveLayout")]
		public bool ResponsiveLayout { get; set; }

		[XmlElement("HardRowBreaks")]
		public bool HardRowBreaks { get; set; }

		[XmlElement("GroupWidth")]
		public int GroupWidth { get; set; }

		[XmlElement("LabelWidth")]
		public int LabelWidth { get; set; }

		[XmlAttribute("LabelAlign")]
		public HorizontalAlign LabelAlign { get; set; }

		[XmlElement("CellHeight")]
		public int CellHeight { get; set; }

		[XmlElement("UseDefaultFieldFormatting")]
		public bool UseDefaultFieldFormatting { get; set; }

		[XmlElement("UseFormErrorFormatting")]
		public bool UseFormErrorFormatting { get; set; }

		[XmlElement("DataDirectLink")]
		public bool DataDirectLink { get; set; }

		[XmlElement("CaptchaType")]
		public Code5Systems.FormMaster.Business.CaptchaType CaptchaType { get; set; }

		[XmlElement("SiteKey")]
		public string SiteKey { get; set; }

		[XmlElement("SecretKey")]
		public string SecretKey { get; set; }


#endregion
		
	}
#endregion
	
}

